<form>
	<fieldset class="todo-list">
		<legend class="todo-list__title">My Special Todo List</legend>
		<label class="todo-list__label">
			<input type="checkbox" name="" id="" />
			<i class="check" />
			<span>Make awesome CSS animation</span>
		</label>
		<label class="todo-list__label">
			<input type="checkbox" name="" id="" />
			<i class="check" />
			<span>Watch awesome bangumi</span>
		</label>
		<label class="todo-list__label">
			<input type="checkbox" name="" id="" />
			<i class="check" />
			<span>Encounter awesome people</span>
		</label>
		<label class="todo-list__label">
			<input type="checkbox" name="" id="" />
			<i class="check" />
			<span>Be an awesome man</span>
		</label>
	</fieldset>
</form>

<style>
	@import url('https://fonts.googleapis.com/css?family=Lato:400,400i,700');
	body {
		display: -webkit-box;
		display: flex;
		-webkit-box-pack: center;
		justify-content: center;
		-webkit-box-align: center;
		align-items: center;
		height: 100vh;
		background: #1a1e23;
	}

	.todo-list {
		display: -webkit-box;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		flex-direction: column;
		padding: 0 75px 10px 30px;
		background: #162740;
		border: transparent;
	}
	.todo-list .todo-list__title {
		padding: 3px 6px;
		color: #f1faee;
		background-color: #264456;
	}
	.todo-list .todo-list__label {
		display: -webkit-box;
		display: flex;
		-webkit-box-align: center;
		align-items: center;
		margin: 40px 0;
		font-size: 24px;
		font-family: Lato, sans-serif;
		color: #f1faee;
		cursor: pointer;
	}
	.todo-list .todo-list__label input[type='checkbox'] {
		opacity: 0;
		-webkit-appearance: none;
		-moz-appearance: none;
		appearance: none;
	}
	.todo-list .todo-list__label input[type='checkbox'] + .check {
		position: absolute;
		width: 25px;
		height: 25px;
		border: 2px solid #f1faee;
		-webkit-transition: 0.2s;
		transition: 0.2s;
	}
	.todo-list .todo-list__label input[type='checkbox']:checked + .check {
		width: 25px;
		height: 15px;
		border-top: transparent;
		border-right: transparent;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
	}
	.todo-list .todo-list__label input[type='checkbox'] ~ span {
		position: relative;
		left: 40px;
		white-space: nowrap;
		-webkit-transition: 0.5s;
		transition: 0.5s;
	}
	.todo-list .todo-list__label input[type='checkbox'] ~ span::before {
		position: absolute;
		content: '';
		top: 50%;
		left: 0;
		width: 100%;
		height: 1px;
		background: #f1faee;
		-webkit-transform: scaleX(0);
		transform: scaleX(0);
		-webkit-transform-origin: right;
		transform-origin: right;
		-webkit-transition: -webkit-transform 0.5s;
		transition: -webkit-transform 0.5s;
		transition: transform 0.5s;
		transition: transform 0.5s, -webkit-transform 0.5s;
	}
	.todo-list .todo-list__label input[type='checkbox']:checked ~ span {
		color: #585b57;
	}
	.todo-list .todo-list__label input[type='checkbox']:checked ~ span::before {
		-webkit-transform: scaleX(1);
		transform: scaleX(1);
		-webkit-transform-origin: left;
		transform-origin: left;
	}
</style>
